With the development of information technologies, technologies such as Ethernet, IP and Multi-Protocol Label Switching (MPLS) and the like have gradually developed and won more and more users. The Virtual Private LAN Service (VPLS) technology that incorporates the advantages of both Ethernet and IP/MPLS has become the focus of attention and has found increasing applications.
The VPLS is an increasingly mature two-layer Virtual Private LAN (VPN) technology, and has not only the same security, quality of service (QoS) guarantee, expandability, flexibility and manageability as the VPN, but also the ability to provide various access methods.
In practical applications, the VPLS presents a strict requirement on reliability, and access users generally need to have their provider edge (PE) devices dual-homed to two different PE devices. FIG. 1 is a schematic diagram illustrating a solution for VPLS reliability that is described in the VPLS protocol draft in Internet Engineering Task Force (IETF).
In FIG. 1, VPLS data messages are transmitted by a Maximum Transmission Unit-s (MTU-s) that connects Custom Edges (CEs) with each other, to PE1-rs via a primary Pseudo Wire (PW), and to PE2-rs. If a fault exists in the primary PW or in PE1-rs, VPLS data messages are switched by MTU-s to a secondary PW and transmitted by MTU-s to PE3-rs via the secondary PW, and to PE2-rs. In this way, VPLS data messages are guaranteed to be transmitted to two PE devices either via the primary PW or via the secondary PW, allowing MTU-s to access a VPLS service with a greatly improved reliability.
A method for switching a VPLS service to the secondary PW when a fault exists in the primary PW or in PE1-rs is as follows:
1. After having received VPLS data messages from MTU-s, PE3-rs determines that a fault exists either in the primary PW or in PE1-rs, because, under normal conditions, MTU-s transmits the VPLS data messages to PE1-rs, rather than PE3-rs.
2. PE3-rs transmits an address canceling message containing a MAC List TLV, to each of the other PE-rs, e.g. only PE2-rs in the network as shown in FIG. 1.
3. After having received the address canceling message sent by PE3-rs, each of the Other PE-rs empties its VPLS forwarding table, re-learns the VPLS forwarding table, and forwards a VPLS service according to the re-learned VPLS forwarding table.
The forwarding table on PE2-rs before the re-learning, for example, is shown as Table 1 below.
TABLE 1VPLS No.MAC AddressForwarding Path100e0-fcaa-00aaPE1-rs100e0-fcaa-00bbPE4-rs100e0-fcaa-00ccPE1-rs. . .. . .. . .
After having received the address canceling message, PE2-rs empties the items in the forwarding table. The resulting table, for example, is shown as Table 2 below, with all of the items with VPLS No. 1 deleted.
TABLE 2VPLS No.MAC AddressForwarding Path2——3——4——. . .. . .. . .
The re-learned forwarding table, for example, is shown as Table 3.
TABLE 3VPLS No.MAC AddressForwarding Path100e0-fcaa-00aaPE3-rs100e0-fcaa-00bbPE4-rs100e0-fcaa-00ccPE3-rs. . .. . .. . .
The result of relearning is that, according to Table 3, all of the messages on PE2-rs that need to be transmitted to MTU-s are transmitted to PE3-rs firstly.
The disadvantages of the above method for switching a VPLS service to the secondary PW are as follows.
1. Although the VPLS forwarding table can be updated by using the above method, the VPLS forwarding table has to be emptied before being re-learned. All of the VPLS service messages to be forwarded have to be broadcast before the re-learning of the VPLS forwarding table, thereby consuming network bandwidth and increasing processing payloads.
2. In the above method, other services between PE-rs unrelated to the faulty PW or PEs will be also affected. For example, if there is also PE4-rs in the above network, the services between PE2-rs and PE4-rs should not be affected by the services of MTU-s, and the VPLS forwarding table on PE4-rs should not be emptied before being re-learned.
3. In the above method, PE3-rs determines a fault condition according to the VPLS data messages received from MTU-s. If there are no VPLS data message from MTU-s during a certain period, PE3-rs will not know that a fault may have occurred, and thus PE2-rs will not update the VPLS forwarding table. As a result, the VPLS data messages on PE2-rs will be still transmitted to PE1-rs and thus will not be received by MTU-s.